﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum СтатусыПартийУСН
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"cdab8031-bf58-4bdd-8dcb-880c689a0e3a\", \"Представление\":\"Купленные\"}")]
		Купленные = 0,
		[EnumMember(Value = "{\"Ссылка\":\"15a0625c-db40-476f-81fd-db7f82c5628d\", \"Представление\":\"Списанные\"}")]
		Списанные = 1,//Проданные (списанные)
		[EnumMember(Value = "{\"Ссылка\":\"8ede14fb-dc15-46ed-bb21-520292fcce64\", \"Представление\":\"ВПереработке\"}")]
		ВПереработке = 2,//В переработке
		[EnumMember(Value = "{\"Ссылка\":\"0877a4c0-051c-4768-9e3f-096eaa479e93\", \"Представление\":\"НаРеализации\"}")]
		НаРеализации = 3,//На реализации
		[EnumMember(Value = "{\"Ссылка\":\"d4514614-9646-47d4-96ef-22656b9d6820\", \"Представление\":\"ВПроизводстве\"}")]
		ВПроизводстве = 4,//В производстве
	}
	public static partial class СтатусыПартийУСН_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid Купленные = new Guid("0c88cb8d-9a68-3a0e-4bdd-bf58cdab8031");
		public static readonly Guid Списанные = new Guid("7fdbfd81-c582-8d62-476f-db4015a0625c");//Проданные (списанные)
		public static readonly Guid ВПереработке = new Guid("025221bb-fc92-64ce-46ed-dc158ede14fb");//В переработке
		public static readonly Guid НаРеализации = new Guid("6e093f9e-47aa-939e-4768-051c0877a4c0");//На реализации
		public static readonly Guid ВПроизводстве = new Guid("6522ef96-9d6b-2068-47d4-9646d4514614");//В производстве
		public static СтатусыПартийУСН Получить(this СтатусыПартийУСН Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СтатусыПартийУСН Получить(this СтатусыПартийУСН Значение, Guid Ссылка)
		{
			if(Ссылка == Купленные)
			{
				return СтатусыПартийУСН.Купленные;
			}
			else if(Ссылка == Списанные)
			{
				return СтатусыПартийУСН.Списанные;
			}
			else if(Ссылка == ВПереработке)
			{
				return СтатусыПартийУСН.ВПереработке;
			}
			else if(Ссылка == НаРеализации)
			{
				return СтатусыПартийУСН.НаРеализации;
			}
			else if(Ссылка == ВПроизводстве)
			{
				return СтатусыПартийУСН.ВПроизводстве;
			}
			return СтатусыПартийУСН.ПустаяСсылка;
		}
		public static byte[] Ключ(this СтатусыПартийУСН Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СтатусыПартийУСН Значение)
		{
			switch (Значение)
			{
				case СтатусыПартийУСН.Купленные: return Купленные;
				case СтатусыПартийУСН.Списанные: return Списанные;
				case СтатусыПартийУСН.ВПереработке: return ВПереработке;
				case СтатусыПартийУСН.НаРеализации: return НаРеализации;
				case СтатусыПартийУСН.ВПроизводстве: return ВПроизводстве;
			}
			return Guid.Empty;
		}
	}
}